package com.wang.lotterysystem.service;

import com.wang.lotterysystem.controller.enums.UserIdentityEnum;
import com.wang.lotterysystem.controller.param.user.UserLoginParam;
import com.wang.lotterysystem.controller.param.user.UserRegisterParam;
import com.wang.lotterysystem.service.dto.user.UserDTO;
import com.wang.lotterysystem.service.dto.user.UserLoginDTO;
import com.wang.lotterysystem.service.dto.user.UserRegisterDTO;

import java.util.List;

public interface UserService {
    /**
     * 用户注册
     * @param userRegisterParam 用户注册的参数
     * @return 返回Service层指定的参数类型
     */
    UserRegisterDTO register(UserRegisterParam userRegisterParam);

    /**
     * 使用用户名或验证码登录
     * @param userLoginParam 用户登录统一参数 (具体使用那种方式登录需要判断)
     * @return 返回Service层指定的参数类型
     */
    UserLoginDTO userLogin(UserLoginParam userLoginParam);

    /**
     * 查询用户列表
     * @param identity 用户身份
     * @return 返回指定身份的用户
     */
    List<UserDTO> findUserList(UserIdentityEnum identity);
}
